/**
 * 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
 *
 * 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢？
 *动态规划（迭代，自底向上）
 *
 */
class ClimbStairs {
    public int climbStairs(int n) {
        int p=0;
        int q=0;
        int r=1;
        for(int i=0;i<n;i++){
            p=q;
            q=r;
            r=p+q;
        }
        return r;
    }
}